package com.nfit.seckilldemo1.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * ClassName:StockMapper
 * Package:com.nfit.seckilldemo1.mapper
 * Description
 *
 * @Author L
 * @Create 2025/2/17 20:02
 */
@Mapper
public interface StockMapper {
    /**
     * 乐观锁扣减库存
     * @param skuId     商品ID
     * @param quantity  购买数量
     * @param version   当前版本号（校验数据一致性）
     * @return 更新影响的行数（若为0，说明并发冲突）
     */
    int reduceStockWithVersion(@Param("skuId") Long skuId,
                               @Param("quantity") Integer quantity,
                               @Param("version") Integer version);
}

